// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2018 Facebook Inc.
/dts-v1/;

#include "aspeed-g5.dtsi"

/ {
	model = "Facebook YAMP 100 BMC";
	compatible = "facebook,yamp-bmc", "aspeed,ast2500";

	aliases {
		/*
		 * Override the default uart aliases to avoid breaking
		 * the legacy applications.
		 */
		serial0 = &uart5;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
	};

	chosen {
		stdout-path = &uart5;
		bootargs = "console=ttyS0,9600n8 root=/dev/ram rw";
	};

	memory@80000000 {
		reg = <0x80000000 0x20000000>;
	};
};

&pinctrl {
	aspeed,external-nodes = <&gfx &lhc>;
};

/*
 * Update reset type to "system" (full chip) to fix warm reboot hang issue
 * when reset type is set to default ("soc", gated by reset mask registers).
 */
&wdt1 {
	status = "okay";
	aspeed,reset-type = "system";
};

/*
 * wdt2 is not used by Yamp.
 */
&wdt2 {
	status = "disabled";
};

&fmc {
	status = "okay";
	flash@0 {
		status = "okay";
		m25p,fast-read;
		label = "bmc";
#include "facebook-bmc-flash-layout.dtsi"
	};
};

&uart1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_txd1_default
		     &pinctrl_rxd1_default>;
};

&uart2 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_txd2_default
		     &pinctrl_rxd2_default>;
};

&uart3 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_txd3_default
		     &pinctrl_rxd3_default>;
};

&uart5 {
	status = "okay";
};

&mac0 {
	status = "okay";
	use-ncsi;
	no-hw-checksum;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rmii1_default>;
};

&i2c0 {
	status = "okay";
};

&i2c1 {
	status = "okay";
};

&i2c2 {
	status = "okay";

	i2c-switch@75 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x75>;
	};
};

&i2c3 {
	status = "okay";
};

&i2c4 {
	status = "okay";
};

&i2c5 {
	status = "okay";
};

&i2c6 {
	status = "okay";
};

&i2c7 {
	status = "okay";
};

&i2c8 {
	status = "okay";
};

&i2c9 {
	status = "okay";
};

&i2c10 {
	status = "okay";
};

&i2c11 {
	status = "okay";
};

&i2c12 {
	status = "okay";
};

&i2c13 {
	status = "okay";
};

&vhub {
	status = "okay";
};
